2.9 [Protocols] Section

The [Protocols] section of the EDK II INF file is a list of the global Protocol C Names that are used by the module developer. These C names are used by the parsing utility to lookup the actual GUID value of the PROTOCOL that is located in the EDK II package DEC files, and then emit a data structure to the module's AutoGen.c file.

Protocols listed in architectural sections must not be listed in common [Protocols] sections. The architectural section modifier is used as a restriction to mask items from architectures that are not applicable.

This section uses one of the following section definitions:

[Protocols]
[Protocols.common]
[Protocols.IA32]
[Protocols.X64]
[Protocols.EBC]

The formats for entries in this section is:

gEfiProtocolCName [ | FeatureFlagExpression] ## Usage comment

When a FeatureFlagExpression is present, if the expression evaluates to TRUE, then the Protocal entry is valid. If the expression evaluates to FALSE, then the EDK II build tools must ignore the entry.

The following is an example of the [Protocols] section.

[Protocols]
  gEfiDecompressProtocolGuid
  gEfiLoadFileProtocolGuid